hex2ascii

huangqimin001 vor 3 Jahren
Ursprung
Commit
fe2e1da7f5
5 geänderte Dateien mit 31 neuen Zeilen und 2 gelöschten Zeilen
  1. 3 1
      api/aep_views.py
  2. 1 1
      equipment/admin.py
  3. 23 0
      equipment/migrations/0024_auto_20211122_1633.py
  4. 2 0
      equipment/models.py
  5. 2 0
      utils/convert.py

+ 3 - 1
api/aep_views.py

@@ -6,10 +6,10 @@ import base64
6 6
 import json
7 7
 
8 8
 from django_logit import logit
9
-from django_query import get_query_value
10 9
 from django_response import response
11 10
 
12 11
 from equipment.models import AepThermometerMeasureLogInfo
12
+from utils.convert import hex2ascii
13 13
 
14 14
 
15 15
 @logit
@@ -45,6 +45,8 @@ def aep_upload_temperature(request):
45 45
         upload_temperature_info=reqdata,
46 46
         temperature_info=[appdata[:2], appdata[2:4], appdata[4:6]],
47 47
         battery_info=[appdata[6:8], appdata[8:10], appdata[10:12]],
48
+        temperature=f'{hex2ascii(appdata[:2])}{hex2ascii(appdata[2:4])}.{hex2ascii(appdata[4:6])}',
49
+        battery=f'{hex2ascii(appdata[6:8])}{hex2ascii(appdata[8:10])}.{hex2ascii(appdata[10:12])}',
48 50
     )
49 51
 
50 52
     return response()

+ 1 - 1
equipment/admin.py

@@ -30,7 +30,7 @@ class ThermometerMeasureLogInfoAdmin(ReadOnlyModelAdmin, admin.ModelAdmin):
30 30
 
31 31
 
32 32
 class AepThermometerMeasureLogInfoAdmin(ReadOnlyModelAdmin, admin.ModelAdmin):
33
-    list_display = ('imei', 'temperature_src', 'temperature_info', 'battery_info', 'status', 'created_at', 'updated_at')
33
+    list_display = ('imei', 'temperature_src', 'temperature', 'battery', 'status', 'created_at', 'updated_at')
34 34
 
35 35
 
36 36
 admin.site.register(IsolationPointFieldPoolInfo, IsolationPointFieldPoolInfoAdmin)

+ 23 - 0
equipment/migrations/0024_auto_20211122_1633.py

@@ -0,0 +1,23 @@
1
+# Generated by Django 3.2.7 on 2021-11-22 08:33
2
+
3
+from django.db import migrations, models
4
+
5
+
6
+class Migration(migrations.Migration):
7
+
8
+    dependencies = [
9
+        ('equipment', '0023_aepthermometermeasureloginfo'),
10
+    ]
11
+
12
+    operations = [
13
+        migrations.AddField(
14
+            model_name='aepthermometermeasureloginfo',
15
+            name='battery',
16
+            field=models.FloatField(default=0, help_text='用户电量', verbose_name='battery'),
17
+        ),
18
+        migrations.AddField(
19
+            model_name='aepthermometermeasureloginfo',
20
+            name='temperature',
21
+            field=models.FloatField(default=0, help_text='用户体温', verbose_name='temperature'),
22
+        ),
23
+    ]

+ 2 - 0
equipment/models.py

@@ -287,6 +287,8 @@ class AepThermometerMeasureLogInfo(BaseModelMixin):
287 287
 
288 288
     temperature_info = JSONField(_('temperature_info'), blank=True, null=True, help_text='温度信息')
289 289
     battery_info = JSONField(_('battery_info'), blank=True, null=True, help_text='电量信息')
290
+    temperature = models.FloatField(_('temperature'), default=0, help_text='用户体温')
291
+    battery = models.FloatField(_('battery'), default=0, help_text='用户电量')
290 292
 
291 293
     class Meta:
292 294
         verbose_name = _('AEP测温记录信息')

+ 2 - 0
utils/convert.py

@@ -0,0 +1,2 @@
1
+def hex2ascii(s):
2
+    return chr(int(s, 16))